package org.tjue.lanqiao.intreface.oop;

public class InterfaceDemo {
	/*
	 * interface：接口
	 * 接口是一种特殊的抽象类
	 * Java类的成员：类、抽象类、接口、内部类
	 * 接口的创建：同类的过程，只不过将class关键字换成interface
	 * file-=new--interface
	 * 
	 * 接口的命名习惯是在类的命名之前加一个I（代表是一个接口）
	 * 接口可以像类一样继承，但是接口使用的是implements关键字
	 * 接口的子类一般称为实现子类。
	 * 接口中可以有变量定义，接口中变量默认为static final类型   static final 可以省略
	 * 接口中的方法都是抽象方法，只有方法声明没有方法体，abstract关键字可以省略
	 * 接口不能用new进行创建实例对象，同抽象一样，必须有实现子类才能创建对象
	 * 接口的实现子类中必须实现接口父类中所有的实现方法
	 * 接口可以通过implements实现多继承
	 * 也就是一个实现类可以implements继承多个接口父类
	 * 
	 * Java接口的多继承弥补了Java类只允许单继承在某些情景下的不足
	 * 
	 * 接口之间的继承关系：
	 * 接口与接口之间会有类的继承关系
	 * 接口与接口之间可以多继承，一个接口可以使用extends继承多个父接口类；
	 * 
	 * 接口的多继承体现在：
	 * 1、实现类使用implements多继承多个父几口类
	 * 2、实现类和接口之间的继承关系
	 * 
	 * 
	 * 
	 * 
	 *
	/**
	 * 作业  ：对比接口和抽象类之间的异同点
	 * 接口的应用情景
	 * 接口从类的封装来说没有成员属性，只是封装了一组行为方法
	 * 接口一般是对一组相关行为的规范定义。
	 * 当一个类实现了某一个接口 则代表这个类具有了这个接口规范的行为
	 * 
	 * oo原则：面向接口的编程，不面向具体的实现编程
	 */
	//测试方法
	public void test_Interface(){
		//默认final static 类型IMyshape.PI=3.1415;
		 //IMyshape.PI2  =3.14159;
		
	}

}
